package com.sunny.design.strategy.exam2;

/**
 * 支付接口
 *
 * @author Sunny
 * @date 2020/1/4 22:24
 */
public abstract class Payment {

    //支付类型
    abstract String getName();

    //查询余额
    abstract double queryBalance(String uid);

    //扣款支付
    public MsgResult pay(String uid, double amount) {
        if (queryBalance(uid) < amount) {
            return new MsgResult(500,"支付失败","余额不足");
        }
        return new MsgResult(200,"支付成功","支付金额：" + amount);
    }
}
